#ifndef V8_TORQUE_BASE_FROM_DSL_BASE_H__
#define V8_TORQUE_BASE_FROM_DSL_BASE_H__

#include "src/compiler/code-assembler.h"
#include "src/utils.h"
#include "torque-generated/class-definitions-from-dsl.h"

namespace v8 {
namespace internal {

class BaseBuiltinsFromDSLAssembler {
 public:
  explicit BaseBuiltinsFromDSLAssembler(compiler::CodeAssemblerState* state) : state_(state), ca_(state) { USE(state_, ca_); }
  compiler::TNode<JSObject> NewJSObject(compiler::TNode<Map> p_map, compiler::TNode<Object> p_properties, compiler::TNode<FixedArrayBase> p_elements);
  compiler::TNode<JSObject> NewJSObject(compiler::TNode<Context> p_context);
  compiler::TNode<JSProxyRevocableResult> NewJSProxyRevocableResult(compiler::TNode<Context> p_context, compiler::TNode<JSProxy> p_proxy, compiler::TNode<JSFunction> p_revoke);
  compiler::TNode<JSArray> NewJSArray(compiler::TNode<Context> p_context, compiler::TNode<Map> p_map, compiler::TNode<FixedArrayBase> p_elements);
  compiler::TNode<JSArray> NewJSArray(compiler::TNode<Context> p_context);
  struct HoleIterator {

    std::tuple<> Flatten() const {
      return std::tuple_cat();
    }
  };
  compiler::TNode<JSArray> NewJSArray(compiler::TNode<Context> p_context, compiler::TNode<Map> p_map, compiler::TNode<Smi> p_length);
  compiler::TNode<Oddball> Hole();
  compiler::TNode<Oddball> Null();
  compiler::TNode<Oddball> Undefined();
  compiler::TNode<Oddball> True();
  compiler::TNode<Oddball> False();
  compiler::TNode<String> kEmptyString();
  compiler::TNode<String> kLengthString();
  int31_t GetStartOfCaptureIndex(int31_t p_captureIndex);
  compiler::TNode<BoolT> ElementsKindNotEqual(compiler::TNode<Int32T> p_k1, compiler::TNode<Int32T> p_k2);
  compiler::TNode<BoolT> IsNumberEqual(compiler::TNode<Number> p_a, compiler::TNode<Number> p_b);
  compiler::TNode<BoolT> IsNumberNotEqual(compiler::TNode<Number> p_a, compiler::TNode<Number> p_b);
  compiler::TNode<Number> Min(compiler::TNode<Number> p_x, compiler::TNode<Number> p_y);
  compiler::TNode<Number> Max(compiler::TNode<Number> p_x, compiler::TNode<Number> p_y);
  compiler::TNode<String> StringAdd(compiler::TNode<Context> p_context, compiler::TNode<String> p_a, compiler::TNode<String> p_b);
  compiler::TNode<Smi> Cast5ATSmi(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Smi> Cast13ATPositiveSmi(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Number> Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<HeapObject> Cast10HeapObject(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<FixedArray> Cast10FixedArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<FixedDoubleArray> Cast16FixedDoubleArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<SloppyArgumentsElements> Cast23SloppyArgumentsElements(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSDataView> Cast10JSDataView(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSProxy> Cast7JSProxy(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSTypedArray> Cast12JSTypedArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSTypedArray> Cast12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSReceiver> Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<HeapObject> Cast52UT11ATUndefined15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSArray> Cast7JSArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSArrayBuffer> Cast13JSArrayBuffer(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Context> Cast7Context(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSObject> Cast8JSObject(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<NumberDictionary> Cast18ATNumberDictionary(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<FixedTypedArrayBase> Cast19FixedTypedArrayBase(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<String> Cast6String(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<String> Cast14ATDirectString(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSReceiver> Cast13ATConstructor(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<HeapNumber> Cast10HeapNumber(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSRegExp> Cast8JSRegExp(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Map> Cast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSArgumentsObjectWithLength> Cast27JSArgumentsObjectWithLength(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSRegExp> Cast14ATFastJSRegExp(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSArray> Cast13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSArray> Cast20ATFastJSArrayForCopy(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSArray> Cast34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSReceiver> Cast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSFunction> Cast10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Smi> TryUintPtrToPositiveSmi(compiler::TNode<UintPtrT> p_ui, compiler::CodeAssemblerLabel* label_IfOverflow);
  compiler::TNode<Int32T> FromConstexpr7ATint3117ATconstexpr_int31(int31_t p_i);
  compiler::TNode<Int32T> FromConstexpr7ATint3217ATconstexpr_int31(int31_t p_i);
  compiler::TNode<Int32T> FromConstexpr7ATint3217ATconstexpr_int32(int32_t p_i);
  compiler::TNode<IntPtrT> FromConstexpr8ATintptr17ATconstexpr_int31(int31_t p_i);
  compiler::TNode<IntPtrT> FromConstexpr8ATintptr17ATconstexpr_int32(int32_t p_i);
  compiler::TNode<IntPtrT> FromConstexpr8ATintptr18ATconstexpr_intptr(intptr_t p_i);
  compiler::TNode<UintPtrT> FromConstexpr9ATuintptr19ATconstexpr_uintptr(uintptr_t p_i);
  compiler::TNode<Smi> FromConstexpr5ATSmi17ATconstexpr_int31(int31_t p_i);
  compiler::TNode<Smi> FromConstexpr13ATPositiveSmi17ATconstexpr_int31(int31_t p_i);
  compiler::TNode<String> FromConstexpr6String18ATconstexpr_string(const char* p_s);
  compiler::TNode<Number> FromConstexpr20UT5ATSmi10HeapNumber18ATconstexpr_uint32(uint32_t p_i);
  compiler::TNode<Number> FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int32(int32_t p_i);
  compiler::TNode<Number> FromConstexpr20UT5ATSmi10HeapNumber19ATconstexpr_float64(double p_f);
  compiler::TNode<Number> FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(int31_t p_i);
  compiler::TNode<Number> FromConstexpr20UT5ATSmi10HeapNumber15ATconstexpr_Smi(Smi p_s);
  compiler::TNode<Smi> FromConstexpr5ATSmi15ATconstexpr_Smi(Smi p_s);
  compiler::TNode<Uint32T> FromConstexpr8ATuint3217ATconstexpr_int31(int31_t p_i);
  compiler::TNode<UintPtrT> FromConstexpr9ATuintptr17ATconstexpr_int31(int31_t p_i);
  compiler::TNode<Float64T> FromConstexpr9ATfloat6417ATconstexpr_int31(int31_t p_i);
  compiler::TNode<Float64T> FromConstexpr9ATfloat6419ATconstexpr_float64(double p_i);
  compiler::TNode<BoolT> FromConstexpr6ATbool16ATconstexpr_bool(bool p_b);
  compiler::TNode<Smi> FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode p_m);
  compiler::TNode<Int32T> FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(ElementsKind p_e);
  compiler::TNode<Object> FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(const char* p_s);
  compiler::TNode<IntPtrT> FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(int32_t p_c);
  compiler::TNode<IntPtrT> FromConstexpr13ATContextSlot23ATconstexpr_ContextSlot(int32_t p_c);
  compiler::TNode<Int32T> Convert7ATint3214ATElementsKind(compiler::TNode<Int32T> p_elementsKind);
  compiler::TNode<Number> Convert20UT5ATSmi10HeapNumber7ATint32(compiler::TNode<Int32T> p_i);
  compiler::TNode<IntPtrT> Convert8ATintptr7ATint32(compiler::TNode<Int32T> p_i);
  compiler::TNode<Smi> Convert5ATSmi7ATint32(compiler::TNode<Int32T> p_i);
  compiler::TNode<Number> Convert20UT5ATSmi10HeapNumber8ATuint32(compiler::TNode<Uint32T> p_ui);
  compiler::TNode<Smi> Convert5ATSmi8ATuint32(compiler::TNode<Uint32T> p_ui);
  compiler::TNode<UintPtrT> Convert9ATuintptr8ATuint32(compiler::TNode<Uint32T> p_ui);
  compiler::TNode<Int32T> Convert7ATint327ATuint8(compiler::TNode<Uint8T> p_i);
  compiler::TNode<Int32T> Convert7ATint328ATuint16(compiler::TNode<Uint16T> p_i);
  compiler::TNode<Int32T> Convert7ATint328ATuint31(compiler::TNode<Uint32T> p_i);
  compiler::TNode<Int32T> Convert7ATint328ATintptr(compiler::TNode<IntPtrT> p_i);
  compiler::TNode<Smi> Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT> p_i);
  compiler::TNode<Uint32T> Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT> p_ui);
  compiler::TNode<IntPtrT> Convert8ATintptr5ATSmi(compiler::TNode<Smi> p_s);
  compiler::TNode<UintPtrT> Convert9ATuintptr13ATPositiveSmi(compiler::TNode<Smi> p_ps);
  compiler::TNode<IntPtrT> Convert8ATintptr9ATuintptr(compiler::TNode<UintPtrT> p_ui);
  compiler::TNode<Smi> Convert13ATPositiveSmi8ATintptr(compiler::TNode<IntPtrT> p_i);
  compiler::TNode<Int32T> Convert7ATint325ATSmi(compiler::TNode<Smi> p_s);
  compiler::TNode<Float64T> Convert9ATfloat6410HeapNumber(compiler::TNode<HeapNumber> p_h);
  compiler::TNode<Float64T> Convert9ATfloat6420UT5ATSmi10HeapNumber(compiler::TNode<Number> p_n);
  compiler::TNode<UintPtrT> Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number> p_n);
  compiler::TNode<Float64T> Convert9ATfloat649ATfloat32(compiler::TNode<Float32T> p_f);
  compiler::TNode<Number> Convert20UT5ATSmi10HeapNumber9ATfloat64(compiler::TNode<Float64T> p_d);
  compiler::TNode<Float64T> Convert9ATfloat649ATuintptr(compiler::TNode<UintPtrT> p_ui);
  compiler::TNode<Number> Convert20UT5ATSmi10HeapNumber9ATuintptr(compiler::TNode<UintPtrT> p_ui);
  compiler::TNode<UintPtrT> Convert9ATuintptr9ATfloat64(compiler::TNode<Float64T> p_d);
  compiler::TNode<UintPtrT> Convert9ATuintptr8ATintptr(compiler::TNode<IntPtrT> p_i);
  compiler::TNode<UintPtrT> Convert9ATuintptr8ATRawPtr(compiler::TNode<RawPtrT> p_r);
  compiler::TNode<IntPtrT> Convert8ATintptr8ATRawPtr(compiler::TNode<RawPtrT> p_r);
  compiler::TNode<BInt> Convert6ATbint7ATint32(compiler::TNode<Int32T> p_v);
  compiler::TNode<BInt> Convert6ATbint8ATintptr(compiler::TNode<IntPtrT> p_v);
  compiler::TNode<BInt> Convert6ATbint5ATSmi(compiler::TNode<Smi> p_v);
  compiler::TNode<Object> UnsafeCast20UT5ATSmi10HeapObject(compiler::TNode<Object> p_o);
  compiler::TNode<Map> kFixedArrayMap();
  compiler::TNode<Map> kCOWMap();
  compiler::TNode<FixedArray> kEmptyFixedArray();
  void StoreFastJSArrayLength(compiler::TNode<JSArray> p_array, compiler::TNode<Smi> p_length);
  void StoreFixedDoubleArrayElementSmi(compiler::TNode<FixedDoubleArray> p_a, compiler::TNode<Smi> p_i, compiler::TNode<Number> p_n);
  void StoreFixedDoubleArrayDirect(compiler::TNode<FixedDoubleArray> p_a, compiler::TNode<Smi> p_i, compiler::TNode<Number> p_v);
  void StoreFixedArrayDirect(compiler::TNode<FixedArray> p_a, compiler::TNode<Smi> p_i, compiler::TNode<Object> p_v);
  compiler::TNode<Int32T> FastHoleyElementsKind(compiler::TNode<Int32T> p_kind);
  compiler::TNode<Int32T> AllowDoubleElements(compiler::TNode<Int32T> p_kind);
  compiler::TNode<Int32T> AllowNonNumberElements(compiler::TNode<Int32T> p_kind);
  compiler::TNode<JSFunction> GetObjectFunction(compiler::TNode<Context> p_context);
  compiler::TNode<JSReceiver> GetArrayBufferFunction(compiler::TNode<Context> p_context);
  compiler::TNode<JSFunction> GetArrayBufferNoInitFunction(compiler::TNode<Context> p_context);
  compiler::TNode<Map> GetFastPackedSmiElementsJSArrayMap(compiler::TNode<Context> p_context);
  compiler::TNode<Map> GetProxyRevocableResultMap(compiler::TNode<Context> p_context);
  void TorqueMoveElementsSmi(compiler::TNode<FixedArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
  void TorqueMoveElements(compiler::TNode<FixedArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
  void TorqueMoveElements(compiler::TNode<FixedDoubleArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
  void TorqueCopyElements(compiler::TNode<FixedArray> p_dstElements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<FixedArray> p_srcElements, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
  void TorqueCopyElements(compiler::TNode<FixedDoubleArray> p_dstElements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<FixedDoubleArray> p_srcElements, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count);
  compiler::TNode<Object> LoadElementNoHole10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole);
  compiler::TNode<Object> LoadElementNoHole16FixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole);
  struct FastJSArrayWitness {
    compiler::TNode<JSArray> stable;
    compiler::TNode<JSArray> unstable;
    compiler::TNode<Map> map;
    compiler::TNode<BoolT> hasDoubles;
    compiler::TNode<BoolT> hasSmis;
    compiler::TNode<BoolT> arrayIsPushable;

    std::tuple<compiler::TNode<JSArray>, compiler::TNode<JSArray>, compiler::TNode<Map>, compiler::TNode<BoolT>, compiler::TNode<BoolT>, compiler::TNode<BoolT>> Flatten() const {
      return std::tuple_cat(std::make_tuple(stable), std::make_tuple(unstable), std::make_tuple(map), std::make_tuple(hasDoubles), std::make_tuple(hasSmis), std::make_tuple(arrayIsPushable));
    }
  };
  BaseBuiltinsFromDSLAssembler::FastJSArrayWitness NewFastJSArrayWitness(compiler::TNode<JSArray> p_array);
  compiler::TNode<BoolT> NumberIsNaN(compiler::TNode<Number> p_number);
  compiler::TNode<BoolT> ToBoolean(compiler::TNode<Object> p_obj);
  compiler::TNode<Number> ToIndex(compiler::TNode<Object> p_input, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_RangeError);
  compiler::TNode<Number> GetLengthProperty(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  struct KeyValuePair {
    compiler::TNode<Object> key;
    compiler::TNode<Object> value;

    std::tuple<compiler::TNode<Object>, compiler::TNode<Object>> Flatten() const {
      return std::tuple_cat(std::make_tuple(key), std::make_tuple(value));
    }
  };
  compiler::TNode<BoolT> IsFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context);
  void BranchIfFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
  void BranchIfNotFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
  void BranchIfFastJSArrayForCopy(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
  compiler::TNode<BoolT> IsFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<Smi> FromConstexpr11ATFrameType21ATconstexpr_FrameType(StackFrame::Type p_t);
  compiler::TNode<Smi> Cast11ATFrameType(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Object> LoadObjectFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o);
  compiler::TNode<RawPtrT> LoadPointerFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o);
  compiler::TNode<Smi> LoadSmiFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o);
  compiler::TNode<JSFunction> LoadFunctionFromFrame(compiler::TNode<RawPtrT> p_f);
  compiler::TNode<RawPtrT> LoadCallerFromFrame(compiler::TNode<RawPtrT> p_f);
  compiler::TNode<Object> Cast23UT11ATFrameType7Context(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Object> LoadContextOrFrameTypeFromFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f);
  compiler::TNode<Smi> LoadLengthFromAdapterFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f);
  compiler::TNode<BoolT> FrameTypeEquals(compiler::TNode<Smi> p_f1, compiler::TNode<Smi> p_f2);
  compiler::TNode<RawPtrT> Cast15ATStandardFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<RawPtrT> Cast23ATArgumentsAdaptorFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSFunction> LoadTargetFromFrame();
  struct Arguments {
    compiler::TNode<RawPtrT> frame;
    compiler::TNode<RawPtrT> base;
    compiler::TNode<IntPtrT> length;

    std::tuple<compiler::TNode<RawPtrT>, compiler::TNode<RawPtrT>, compiler::TNode<IntPtrT>> Flatten() const {
      return std::tuple_cat(std::make_tuple(frame), std::make_tuple(base), std::make_tuple(length));
    }
  };
  compiler::TNode<Map> LoadHeapObjectMap(compiler::TNode<HeapObject> p_o);
  void StoreHeapObjectMap(compiler::TNode<HeapObject> p_o, compiler::TNode<Map> p_v);
  compiler::TNode<Smi> LoadContextLength(compiler::TNode<Context> p_o);
  void StoreContextLength(compiler::TNode<Context> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<ScopeInfo> LoadContextScopeInfo(compiler::TNode<Context> p_o);
  void StoreContextScopeInfo(compiler::TNode<Context> p_o, compiler::TNode<ScopeInfo> p_v);
  compiler::TNode<Object> LoadContextPrevious(compiler::TNode<Context> p_o);
  void StoreContextPrevious(compiler::TNode<Context> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadContextExtension(compiler::TNode<Context> p_o);
  void StoreContextExtension(compiler::TNode<Context> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadContextNativeContext(compiler::TNode<Context> p_o);
  void StoreContextNativeContext(compiler::TNode<Context> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Float64T> LoadOddballToNumberRaw(compiler::TNode<Oddball> p_o);
  void StoreOddballToNumberRaw(compiler::TNode<Oddball> p_o, compiler::TNode<Float64T> p_v);
  compiler::TNode<String> LoadOddballToString(compiler::TNode<Oddball> p_o);
  void StoreOddballToString(compiler::TNode<Oddball> p_o, compiler::TNode<String> p_v);
  compiler::TNode<Number> LoadOddballToNumber(compiler::TNode<Oddball> p_o);
  void StoreOddballToNumber(compiler::TNode<Oddball> p_o, compiler::TNode<Number> p_v);
  compiler::TNode<String> LoadOddballTypeOf(compiler::TNode<Oddball> p_o);
  void StoreOddballTypeOf(compiler::TNode<Oddball> p_o, compiler::TNode<String> p_v);
  compiler::TNode<Smi> LoadOddballKind(compiler::TNode<Oddball> p_o);
  void StoreOddballKind(compiler::TNode<Oddball> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Float64T> LoadHeapNumberValue(compiler::TNode<HeapNumber> p_o);
  void StoreHeapNumberValue(compiler::TNode<HeapNumber> p_o, compiler::TNode<Float64T> p_v);
  compiler::TNode<Int32T> LoadNameHashField(compiler::TNode<Name> p_o);
  void StoreNameHashField(compiler::TNode<Name> p_o, compiler::TNode<Int32T> p_v);
  compiler::TNode<Int32T> LoadSymbolFlags(compiler::TNode<Symbol> p_o);
  void StoreSymbolFlags(compiler::TNode<Symbol> p_o, compiler::TNode<Int32T> p_v);
  compiler::TNode<Object> LoadSymbolName(compiler::TNode<Symbol> p_o);
  void StoreSymbolName(compiler::TNode<Symbol> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Uint32T> LoadStringLength(compiler::TNode<String> p_o);
  void StoreStringLength(compiler::TNode<String> p_o, compiler::TNode<Uint32T> p_v);
  compiler::TNode<String> LoadConsStringFirst(compiler::TNode<ConsString> p_o);
  void StoreConsStringFirst(compiler::TNode<ConsString> p_o, compiler::TNode<String> p_v);
  compiler::TNode<String> LoadConsStringSecond(compiler::TNode<ConsString> p_o);
  void StoreConsStringSecond(compiler::TNode<ConsString> p_o, compiler::TNode<String> p_v);
  compiler::TNode<RawPtrT> LoadExternalStringResource(compiler::TNode<ExternalString> p_o);
  void StoreExternalStringResource(compiler::TNode<ExternalString> p_o, compiler::TNode<RawPtrT> p_v);
  compiler::TNode<RawPtrT> LoadExternalStringResourceData(compiler::TNode<ExternalString> p_o);
  void StoreExternalStringResourceData(compiler::TNode<ExternalString> p_o, compiler::TNode<RawPtrT> p_v);
  compiler::TNode<String> LoadSlicedStringParent(compiler::TNode<SlicedString> p_o);
  void StoreSlicedStringParent(compiler::TNode<SlicedString> p_o, compiler::TNode<String> p_v);
  compiler::TNode<Smi> LoadSlicedStringOffset(compiler::TNode<SlicedString> p_o);
  void StoreSlicedStringOffset(compiler::TNode<SlicedString> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<String> LoadThinStringActual(compiler::TNode<ThinString> p_o);
  void StoreThinStringActual(compiler::TNode<ThinString> p_o, compiler::TNode<String> p_v);
  compiler::TNode<Object> LoadTuple2Value1(compiler::TNode<Tuple2> p_o);
  void StoreTuple2Value1(compiler::TNode<Tuple2> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadTuple2Value2(compiler::TNode<Tuple2> p_o);
  void StoreTuple2Value2(compiler::TNode<Tuple2> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadTuple3Value3(compiler::TNode<Tuple3> p_o);
  void StoreTuple3Value3(compiler::TNode<Tuple3> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadFixedArrayBaseLength(compiler::TNode<FixedArrayBase> p_o);
  void StoreFixedArrayBaseLength(compiler::TNode<FixedArrayBase> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadWeakFixedArrayLength(compiler::TNode<WeakFixedArray> p_o);
  void StoreWeakFixedArrayLength(compiler::TNode<WeakFixedArray> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<FixedArray> LoadEnumCacheKeys(compiler::TNode<EnumCache> p_o);
  void StoreEnumCacheKeys(compiler::TNode<EnumCache> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<FixedArray> LoadEnumCacheIndices(compiler::TNode<EnumCache> p_o);
  void StoreEnumCacheIndices(compiler::TNode<EnumCache> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<Object> LoadJSReceiverPropertiesOrHash(compiler::TNode<JSReceiver> p_o);
  void StoreJSReceiverPropertiesOrHash(compiler::TNode<JSReceiver> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<FixedArrayBase> LoadJSObjectElements(compiler::TNode<JSObject> p_o);
  void StoreJSObjectElements(compiler::TNode<JSObject> p_o, compiler::TNode<FixedArrayBase> p_v);
  compiler::TNode<SharedFunctionInfo> LoadJSFunctionSharedFunctionInfo(compiler::TNode<JSFunction> p_o);
  void StoreJSFunctionSharedFunctionInfo(compiler::TNode<JSFunction> p_o, compiler::TNode<SharedFunctionInfo> p_v);
  compiler::TNode<Context> LoadJSFunctionContext(compiler::TNode<JSFunction> p_o);
  void StoreJSFunctionContext(compiler::TNode<JSFunction> p_o, compiler::TNode<Context> p_v);
  compiler::TNode<Smi> LoadJSFunctionFeedbackCell(compiler::TNode<JSFunction> p_o);
  void StoreJSFunctionFeedbackCell(compiler::TNode<JSFunction> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Code> LoadJSFunctionCode(compiler::TNode<JSFunction> p_o);
  void StoreJSFunctionCode(compiler::TNode<JSFunction> p_o, compiler::TNode<Code> p_v);
  compiler::TNode<HeapObject> LoadJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction> p_o);
  void StoreJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Object> LoadJSProxyTarget(compiler::TNode<JSProxy> p_o);
  void StoreJSProxyTarget(compiler::TNode<JSProxy> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSProxyHandler(compiler::TNode<JSProxy> p_o);
  void StoreJSProxyHandler(compiler::TNode<JSProxy> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSProxyRevocableResultProxy(compiler::TNode<JSProxyRevocableResult> p_o);
  void StoreJSProxyRevocableResultProxy(compiler::TNode<JSProxyRevocableResult> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSProxyRevocableResultRevoke(compiler::TNode<JSProxyRevocableResult> p_o);
  void StoreJSProxyRevocableResultRevoke(compiler::TNode<JSProxyRevocableResult> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSGlobalProxyNativeContext(compiler::TNode<JSGlobalProxy> p_o);
  void StoreJSGlobalProxyNativeContext(compiler::TNode<JSGlobalProxy> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSValueValue(compiler::TNode<JSValue> p_o);
  void StoreJSValueValue(compiler::TNode<JSValue> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength> p_o);
  void StoreJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSSloppyArgumentsObjectCallee(compiler::TNode<JSSloppyArgumentsObject> p_o);
  void StoreJSSloppyArgumentsObjectCallee(compiler::TNode<JSSloppyArgumentsObject> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<JSReceiver> LoadJSArrayIteratorIteratedObject(compiler::TNode<JSArrayIterator> p_o);
  void StoreJSArrayIteratorIteratedObject(compiler::TNode<JSArrayIterator> p_o, compiler::TNode<JSReceiver> p_v);
  compiler::TNode<Number> LoadJSArrayIteratorNextIndex(compiler::TNode<JSArrayIterator> p_o);
  void StoreJSArrayIteratorNextIndex(compiler::TNode<JSArrayIterator> p_o, compiler::TNode<Number> p_v);
  compiler::TNode<Smi> LoadJSArrayIteratorKind(compiler::TNode<JSArrayIterator> p_o);
  void StoreJSArrayIteratorKind(compiler::TNode<JSArrayIterator> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Number> LoadJSArrayLength(compiler::TNode<JSArray> p_o);
  void StoreJSArrayLength(compiler::TNode<JSArray> p_o, compiler::TNode<Number> p_v);
  compiler::TNode<BoolT> _method_JSArray_IsEmpty(compiler::TNode<JSArray> p_this);
  compiler::TNode<Object> LoadJSWeakCollectionTable(compiler::TNode<JSWeakCollection> p_o);
  void StoreJSWeakCollectionTable(compiler::TNode<JSWeakCollection> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSCollectionIteratorTable(compiler::TNode<JSCollectionIterator> p_o);
  void StoreJSCollectionIteratorTable(compiler::TNode<JSCollectionIterator> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSCollectionIteratorIndex(compiler::TNode<JSCollectionIterator> p_o);
  void StoreJSCollectionIteratorIndex(compiler::TNode<JSCollectionIterator> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadJSMessageObjectMessageType(compiler::TNode<JSMessageObject> p_o);
  void StoreJSMessageObjectMessageType(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadJSMessageObjectArguments(compiler::TNode<JSMessageObject> p_o);
  void StoreJSMessageObjectArguments(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Script> LoadJSMessageObjectScript(compiler::TNode<JSMessageObject> p_o);
  void StoreJSMessageObjectScript(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Script> p_v);
  compiler::TNode<Object> LoadJSMessageObjectStackFrames(compiler::TNode<JSMessageObject> p_o);
  void StoreJSMessageObjectStackFrames(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadJSMessageObjectStartPosition(compiler::TNode<JSMessageObject> p_o);
  void StoreJSMessageObjectStartPosition(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadJSMessageObjectEndPosition(compiler::TNode<JSMessageObject> p_o);
  void StoreJSMessageObjectEndPosition(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadJSMessageObjectErrorLevel(compiler::TNode<JSMessageObject> p_o);
  void StoreJSMessageObjectErrorLevel(compiler::TNode<JSMessageObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<HeapObject> LoadPrototypeInfoJsModuleNamespace(compiler::TNode<PrototypeInfo> p_o);
  void StorePrototypeInfoJsModuleNamespace(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Object> LoadPrototypeInfoPrototypeUsers(compiler::TNode<PrototypeInfo> p_o);
  void StorePrototypeInfoPrototypeUsers(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadPrototypeInfoRegistrySlot(compiler::TNode<PrototypeInfo> p_o);
  void StorePrototypeInfoRegistrySlot(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadPrototypeInfoValidityCell(compiler::TNode<PrototypeInfo> p_o);
  void StorePrototypeInfoValidityCell(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadPrototypeInfoObjectCreateMap(compiler::TNode<PrototypeInfo> p_o);
  void StorePrototypeInfoObjectCreateMap(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadPrototypeInfoBitField(compiler::TNode<PrototypeInfo> p_o);
  void StorePrototypeInfoBitField(compiler::TNode<PrototypeInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadScriptSource(compiler::TNode<Script> p_o);
  void StoreScriptSource(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadScriptName(compiler::TNode<Script> p_o);
  void StoreScriptName(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadScriptLineOffset(compiler::TNode<Script> p_o);
  void StoreScriptLineOffset(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadScriptColumnOffset(compiler::TNode<Script> p_o);
  void StoreScriptColumnOffset(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadScriptContext(compiler::TNode<Script> p_o);
  void StoreScriptContext(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadScriptScriptType(compiler::TNode<Script> p_o);
  void StoreScriptScriptType(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadScriptLineEnds(compiler::TNode<Script> p_o);
  void StoreScriptLineEnds(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadScriptId(compiler::TNode<Script> p_o);
  void StoreScriptId(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadScriptEvalFromSharedOrWrappedArguments(compiler::TNode<Script> p_o);
  void StoreScriptEvalFromSharedOrWrappedArguments(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadScriptEvalFromPosition(compiler::TNode<Script> p_o);
  void StoreScriptEvalFromPosition(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadScriptSharedFunctionInfos(compiler::TNode<Script> p_o);
  void StoreScriptSharedFunctionInfos(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadScriptFlags(compiler::TNode<Script> p_o);
  void StoreScriptFlags(compiler::TNode<Script> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadScriptSourceUrl(compiler::TNode<Script> p_o);
  void StoreScriptSourceUrl(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadScriptSourceMappingUrl(compiler::TNode<Script> p_o);
  void StoreScriptSourceMappingUrl(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadScriptHostDefinedOptions(compiler::TNode<Script> p_o);
  void StoreScriptHostDefinedOptions(compiler::TNode<Script> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadEmbedderDataArrayLength(compiler::TNode<EmbedderDataArray> p_o);
  void StoreEmbedderDataArrayLength(compiler::TNode<EmbedderDataArray> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Int32T> LoadPreparseDataDataLength(compiler::TNode<PreparseData> p_o);
  void StorePreparseDataDataLength(compiler::TNode<PreparseData> p_o, compiler::TNode<Int32T> p_v);
  compiler::TNode<Int32T> LoadPreparseDataInnerLength(compiler::TNode<PreparseData> p_o);
  void StorePreparseDataInnerLength(compiler::TNode<PreparseData> p_o, compiler::TNode<Int32T> p_v);
  compiler::TNode<FixedArrayBase> LoadInterpreterDataBytecodeArray(compiler::TNode<InterpreterData> p_o);
  void StoreInterpreterDataBytecodeArray(compiler::TNode<InterpreterData> p_o, compiler::TNode<FixedArrayBase> p_v);
  compiler::TNode<Code> LoadInterpreterDataInterpreterTrampoline(compiler::TNode<InterpreterData> p_o);
  void StoreInterpreterDataInterpreterTrampoline(compiler::TNode<InterpreterData> p_o, compiler::TNode<Code> p_v);
  compiler::TNode<Object> LoadSharedFunctionInfoFunctionData(compiler::TNode<SharedFunctionInfo> p_o);
  void StoreSharedFunctionInfoFunctionData(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadSharedFunctionInfoNameOrScopeInfo(compiler::TNode<SharedFunctionInfo> p_o);
  void StoreSharedFunctionInfoNameOrScopeInfo(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<HeapObject> LoadSharedFunctionInfoOuterScopeInfoOrFeedbackMetadata(compiler::TNode<SharedFunctionInfo> p_o);
  void StoreSharedFunctionInfoOuterScopeInfoOrFeedbackMetadata(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<HeapObject> LoadSharedFunctionInfoScriptOrDebugInfo(compiler::TNode<SharedFunctionInfo> p_o);
  void StoreSharedFunctionInfoScriptOrDebugInfo(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Int16T> LoadSharedFunctionInfoLength(compiler::TNode<SharedFunctionInfo> p_o);
  void StoreSharedFunctionInfoLength(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Int16T> p_v);
  compiler::TNode<Uint16T> LoadSharedFunctionInfoFormalParameterCount(compiler::TNode<SharedFunctionInfo> p_o);
  void StoreSharedFunctionInfoFormalParameterCount(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Uint16T> p_v);
  compiler::TNode<Uint16T> LoadSharedFunctionInfoExpectedNofProperties(compiler::TNode<SharedFunctionInfo> p_o);
  void StoreSharedFunctionInfoExpectedNofProperties(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Uint16T> p_v);
  compiler::TNode<Int16T> LoadSharedFunctionInfoFunctionTokenOffset(compiler::TNode<SharedFunctionInfo> p_o);
  void StoreSharedFunctionInfoFunctionTokenOffset(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Int16T> p_v);
  compiler::TNode<Int32T> LoadSharedFunctionInfoFlags(compiler::TNode<SharedFunctionInfo> p_o);
  void StoreSharedFunctionInfoFlags(compiler::TNode<SharedFunctionInfo> p_o, compiler::TNode<Int32T> p_v);
  compiler::TNode<Int32T> LoadSharedFunctionInfoWithIDUniqueId(compiler::TNode<SharedFunctionInfoWithID> p_o);
  void StoreSharedFunctionInfoWithIDUniqueId(compiler::TNode<SharedFunctionInfoWithID> p_o, compiler::TNode<Int32T> p_v);
  compiler::TNode<JSReceiver> LoadJSBoundFunctionBoundTargetFunction(compiler::TNode<JSBoundFunction> p_o);
  void StoreJSBoundFunctionBoundTargetFunction(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<JSReceiver> p_v);
  compiler::TNode<Object> LoadJSBoundFunctionBoundThis(compiler::TNode<JSBoundFunction> p_o);
  void StoreJSBoundFunctionBoundThis(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<FixedArray> LoadJSBoundFunctionBoundArguments(compiler::TNode<JSBoundFunction> p_o);
  void StoreJSBoundFunctionBoundArguments(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<Smi> LoadFixedTypedArrayBaseBasePointer(compiler::TNode<FixedTypedArrayBase> p_o);
  void StoreFixedTypedArrayBaseBasePointer(compiler::TNode<FixedTypedArrayBase> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<RawPtrT> LoadFixedTypedArrayBaseExternalPointer(compiler::TNode<FixedTypedArrayBase> p_o);
  void StoreFixedTypedArrayBaseExternalPointer(compiler::TNode<FixedTypedArrayBase> p_o, compiler::TNode<RawPtrT> p_v);
  compiler::TNode<Smi> LoadFreeSpaceSize(compiler::TNode<FreeSpace> p_o);
  void StoreFreeSpaceSize(compiler::TNode<FreeSpace> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<FreeSpace> LoadFreeSpaceNext(compiler::TNode<FreeSpace> p_o);
  void StoreFreeSpaceNext(compiler::TNode<FreeSpace> p_o, compiler::TNode<FreeSpace> p_v);
  compiler::TNode<UintPtrT> LoadJSArrayBufferByteLength(compiler::TNode<JSArrayBuffer> p_o);
  void StoreJSArrayBufferByteLength(compiler::TNode<JSArrayBuffer> p_o, compiler::TNode<UintPtrT> p_v);
  compiler::TNode<RawPtrT> LoadJSArrayBufferBackingStore(compiler::TNode<JSArrayBuffer> p_o);
  void StoreJSArrayBufferBackingStore(compiler::TNode<JSArrayBuffer> p_o, compiler::TNode<RawPtrT> p_v);
  compiler::TNode<JSArrayBuffer> LoadJSArrayBufferViewBuffer(compiler::TNode<JSArrayBufferView> p_o);
  void StoreJSArrayBufferViewBuffer(compiler::TNode<JSArrayBufferView> p_o, compiler::TNode<JSArrayBuffer> p_v);
  compiler::TNode<UintPtrT> LoadJSArrayBufferViewByteOffset(compiler::TNode<JSArrayBufferView> p_o);
  void StoreJSArrayBufferViewByteOffset(compiler::TNode<JSArrayBufferView> p_o, compiler::TNode<UintPtrT> p_v);
  compiler::TNode<UintPtrT> LoadJSArrayBufferViewByteLength(compiler::TNode<JSArrayBufferView> p_o);
  void StoreJSArrayBufferViewByteLength(compiler::TNode<JSArrayBufferView> p_o, compiler::TNode<UintPtrT> p_v);
  compiler::TNode<Smi> LoadJSTypedArrayLength(compiler::TNode<JSTypedArray> p_o);
  void StoreJSTypedArrayLength(compiler::TNode<JSTypedArray> p_o, compiler::TNode<Smi> p_v);
  void _method_JSTypedArray_AttachOffHeapBuffer(compiler::TNode<JSTypedArray> p_this, compiler::TNode<JSArrayBuffer> p_buffer, compiler::TNode<Map> p_map, compiler::TNode<Smi> p_length, compiler::TNode<UintPtrT> p_byteOffset);
  compiler::TNode<Object> LoadJSAccessorPropertyDescriptorGet(compiler::TNode<JSAccessorPropertyDescriptor> p_o);
  void StoreJSAccessorPropertyDescriptorGet(compiler::TNode<JSAccessorPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSAccessorPropertyDescriptorSet(compiler::TNode<JSAccessorPropertyDescriptor> p_o);
  void StoreJSAccessorPropertyDescriptorSet(compiler::TNode<JSAccessorPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSAccessorPropertyDescriptorEnumerable(compiler::TNode<JSAccessorPropertyDescriptor> p_o);
  void StoreJSAccessorPropertyDescriptorEnumerable(compiler::TNode<JSAccessorPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSAccessorPropertyDescriptorConfigurable(compiler::TNode<JSAccessorPropertyDescriptor> p_o);
  void StoreJSAccessorPropertyDescriptorConfigurable(compiler::TNode<JSAccessorPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSCollectionTable(compiler::TNode<JSCollection> p_o);
  void StoreJSCollectionTable(compiler::TNode<JSCollection> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDateValue(compiler::TNode<JSDate> p_o);
  void StoreJSDateValue(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDateYear(compiler::TNode<JSDate> p_o);
  void StoreJSDateYear(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDateMonth(compiler::TNode<JSDate> p_o);
  void StoreJSDateMonth(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDateDay(compiler::TNode<JSDate> p_o);
  void StoreJSDateDay(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDateWeekday(compiler::TNode<JSDate> p_o);
  void StoreJSDateWeekday(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDateHour(compiler::TNode<JSDate> p_o);
  void StoreJSDateHour(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDateMin(compiler::TNode<JSDate> p_o);
  void StoreJSDateMin(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDateSec(compiler::TNode<JSDate> p_o);
  void StoreJSDateSec(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDateCacheStamp(compiler::TNode<JSDate> p_o);
  void StoreJSDateCacheStamp(compiler::TNode<JSDate> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<JSReceiver> LoadJSAsyncFromSyncIteratorSyncIterator(compiler::TNode<JSAsyncFromSyncIterator> p_o);
  void StoreJSAsyncFromSyncIteratorSyncIterator(compiler::TNode<JSAsyncFromSyncIterator> p_o, compiler::TNode<JSReceiver> p_v);
  compiler::TNode<Object> LoadJSAsyncFromSyncIteratorNext(compiler::TNode<JSAsyncFromSyncIterator> p_o);
  void StoreJSAsyncFromSyncIteratorNext(compiler::TNode<JSAsyncFromSyncIterator> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<String> LoadJSStringIteratorString(compiler::TNode<JSStringIterator> p_o);
  void StoreJSStringIteratorString(compiler::TNode<JSStringIterator> p_o, compiler::TNode<String> p_v);
  compiler::TNode<Smi> LoadJSStringIteratorNextIndex(compiler::TNode<JSStringIterator> p_o);
  void StoreJSStringIteratorNextIndex(compiler::TNode<JSStringIterator> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadJSDataPropertyDescriptorValue(compiler::TNode<JSDataPropertyDescriptor> p_o);
  void StoreJSDataPropertyDescriptorValue(compiler::TNode<JSDataPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDataPropertyDescriptorWritable(compiler::TNode<JSDataPropertyDescriptor> p_o);
  void StoreJSDataPropertyDescriptorWritable(compiler::TNode<JSDataPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDataPropertyDescriptorEnumerable(compiler::TNode<JSDataPropertyDescriptor> p_o);
  void StoreJSDataPropertyDescriptorEnumerable(compiler::TNode<JSDataPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSDataPropertyDescriptorConfigurable(compiler::TNode<JSDataPropertyDescriptor> p_o);
  void StoreJSDataPropertyDescriptorConfigurable(compiler::TNode<JSDataPropertyDescriptor> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadTemplateInfoTag(compiler::TNode<TemplateInfo> p_o);
  void StoreTemplateInfoTag(compiler::TNode<TemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadTemplateInfoSerialNumber(compiler::TNode<TemplateInfo> p_o);
  void StoreTemplateInfoSerialNumber(compiler::TNode<TemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadTemplateInfoNumberOfProperties(compiler::TNode<TemplateInfo> p_o);
  void StoreTemplateInfoNumberOfProperties(compiler::TNode<TemplateInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadTemplateInfoPropertyList(compiler::TNode<TemplateInfo> p_o);
  void StoreTemplateInfoPropertyList(compiler::TNode<TemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadTemplateInfoPropertyAccessors(compiler::TNode<TemplateInfo> p_o);
  void StoreTemplateInfoPropertyAccessors(compiler::TNode<TemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateRareDataPrototypeTemplate(compiler::TNode<FunctionTemplateRareData> p_o);
  void StoreFunctionTemplateRareDataPrototypeTemplate(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateRareDataPrototypeProviderTemplate(compiler::TNode<FunctionTemplateRareData> p_o);
  void StoreFunctionTemplateRareDataPrototypeProviderTemplate(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateRareDataParentTemplate(compiler::TNode<FunctionTemplateRareData> p_o);
  void StoreFunctionTemplateRareDataParentTemplate(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateRareDataNamedPropertyHandler(compiler::TNode<FunctionTemplateRareData> p_o);
  void StoreFunctionTemplateRareDataNamedPropertyHandler(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateRareDataIndexedPropertyHandler(compiler::TNode<FunctionTemplateRareData> p_o);
  void StoreFunctionTemplateRareDataIndexedPropertyHandler(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateRareDataInstanceTemplate(compiler::TNode<FunctionTemplateRareData> p_o);
  void StoreFunctionTemplateRareDataInstanceTemplate(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateRareDataInstanceCallHandler(compiler::TNode<FunctionTemplateRareData> p_o);
  void StoreFunctionTemplateRareDataInstanceCallHandler(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateRareDataAccessCheckInfo(compiler::TNode<FunctionTemplateRareData> p_o);
  void StoreFunctionTemplateRareDataAccessCheckInfo(compiler::TNode<FunctionTemplateRareData> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateInfoCallCode(compiler::TNode<FunctionTemplateInfo> p_o);
  void StoreFunctionTemplateInfoCallCode(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateInfoClassName(compiler::TNode<FunctionTemplateInfo> p_o);
  void StoreFunctionTemplateInfoClassName(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateInfoSignature(compiler::TNode<FunctionTemplateInfo> p_o);
  void StoreFunctionTemplateInfoSignature(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateInfoFunctionTemplateRareData(compiler::TNode<FunctionTemplateInfo> p_o);
  void StoreFunctionTemplateInfoFunctionTemplateRareData(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadFunctionTemplateInfoSharedFunctionInfo(compiler::TNode<FunctionTemplateInfo> p_o);
  void StoreFunctionTemplateInfoSharedFunctionInfo(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadFunctionTemplateInfoFlag(compiler::TNode<FunctionTemplateInfo> p_o);
  void StoreFunctionTemplateInfoFlag(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadFunctionTemplateInfoLength(compiler::TNode<FunctionTemplateInfo> p_o);
  void StoreFunctionTemplateInfoLength(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadFunctionTemplateInfoCachedPropertyName(compiler::TNode<FunctionTemplateInfo> p_o);
  void StoreFunctionTemplateInfoCachedPropertyName(compiler::TNode<FunctionTemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadObjectTemplateInfoConstructor(compiler::TNode<ObjectTemplateInfo> p_o);
  void StoreObjectTemplateInfoConstructor(compiler::TNode<ObjectTemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadObjectTemplateInfoData(compiler::TNode<ObjectTemplateInfo> p_o);
  void StoreObjectTemplateInfoData(compiler::TNode<ObjectTemplateInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadPropertyArrayLengthAndHash(compiler::TNode<PropertyArray> p_o);
  void StorePropertyArrayLengthAndHash(compiler::TNode<PropertyArray> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Name> LoadPropertyCellName(compiler::TNode<PropertyCell> p_o);
  void StorePropertyCellName(compiler::TNode<PropertyCell> p_o, compiler::TNode<Name> p_v);
  compiler::TNode<Smi> LoadPropertyCellPropertyDetailsRaw(compiler::TNode<PropertyCell> p_o);
  void StorePropertyCellPropertyDetailsRaw(compiler::TNode<PropertyCell> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadPropertyCellValue(compiler::TNode<PropertyCell> p_o);
  void StorePropertyCellValue(compiler::TNode<PropertyCell> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<DependentCode> LoadPropertyCellDependentCode(compiler::TNode<PropertyCell> p_o);
  void StorePropertyCellDependentCode(compiler::TNode<PropertyCell> p_o, compiler::TNode<DependentCode> p_v);
  compiler::TNode<RawPtrT> LoadForeignForeignAddress(compiler::TNode<Foreign> p_o);
  void StoreForeignForeignAddress(compiler::TNode<Foreign> p_o, compiler::TNode<RawPtrT> p_v);
  compiler::TNode<Object> LoadInterceptorInfoGetter(compiler::TNode<InterceptorInfo> p_o);
  void StoreInterceptorInfoGetter(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadInterceptorInfoSetter(compiler::TNode<InterceptorInfo> p_o);
  void StoreInterceptorInfoSetter(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadInterceptorInfoQuery(compiler::TNode<InterceptorInfo> p_o);
  void StoreInterceptorInfoQuery(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadInterceptorInfoDescriptor(compiler::TNode<InterceptorInfo> p_o);
  void StoreInterceptorInfoDescriptor(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadInterceptorInfoDeleter(compiler::TNode<InterceptorInfo> p_o);
  void StoreInterceptorInfoDeleter(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadInterceptorInfoEnumerator(compiler::TNode<InterceptorInfo> p_o);
  void StoreInterceptorInfoEnumerator(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadInterceptorInfoDefiner(compiler::TNode<InterceptorInfo> p_o);
  void StoreInterceptorInfoDefiner(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadInterceptorInfoData(compiler::TNode<InterceptorInfo> p_o);
  void StoreInterceptorInfoData(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadInterceptorInfoFlags(compiler::TNode<InterceptorInfo> p_o);
  void StoreInterceptorInfoFlags(compiler::TNode<InterceptorInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadAccessCheckInfoCallback(compiler::TNode<AccessCheckInfo> p_o);
  void StoreAccessCheckInfoCallback(compiler::TNode<AccessCheckInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadAccessCheckInfoNamedInterceptor(compiler::TNode<AccessCheckInfo> p_o);
  void StoreAccessCheckInfoNamedInterceptor(compiler::TNode<AccessCheckInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadAccessCheckInfoIndexedInterceptor(compiler::TNode<AccessCheckInfo> p_o);
  void StoreAccessCheckInfoIndexedInterceptor(compiler::TNode<AccessCheckInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadAccessCheckInfoData(compiler::TNode<AccessCheckInfo> p_o);
  void StoreAccessCheckInfoData(compiler::TNode<AccessCheckInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadArrayBoilerplateDescriptionFlags(compiler::TNode<ArrayBoilerplateDescription> p_o);
  void StoreArrayBoilerplateDescriptionFlags(compiler::TNode<ArrayBoilerplateDescription> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<FixedArrayBase> LoadArrayBoilerplateDescriptionConstantElements(compiler::TNode<ArrayBoilerplateDescription> p_o);
  void StoreArrayBoilerplateDescriptionConstantElements(compiler::TNode<ArrayBoilerplateDescription> p_o, compiler::TNode<FixedArrayBase> p_v);
  compiler::TNode<Smi> LoadAliasedArgumentsEntryAliasedContextSlot(compiler::TNode<AliasedArgumentsEntry> p_o);
  void StoreAliasedArgumentsEntryAliasedContextSlot(compiler::TNode<AliasedArgumentsEntry> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadCellValue(compiler::TNode<Cell> p_o);
  void StoreCellValue(compiler::TNode<Cell> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadDataHandlerSmiHandler(compiler::TNode<DataHandler> p_o);
  void StoreDataHandlerSmiHandler(compiler::TNode<DataHandler> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadDataHandlerValidityCell(compiler::TNode<DataHandler> p_o);
  void StoreDataHandlerValidityCell(compiler::TNode<DataHandler> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadDataHandlerData1(compiler::TNode<DataHandler> p_o);
  void StoreDataHandlerData1(compiler::TNode<DataHandler> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadDataHandlerData2(compiler::TNode<DataHandler> p_o);
  void StoreDataHandlerData2(compiler::TNode<DataHandler> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadDataHandlerData3(compiler::TNode<DataHandler> p_o);
  void StoreDataHandlerData3(compiler::TNode<DataHandler> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<JSFunction> LoadJSGeneratorObjectFunction(compiler::TNode<JSGeneratorObject> p_o);
  void StoreJSGeneratorObjectFunction(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<JSFunction> p_v);
  compiler::TNode<Context> LoadJSGeneratorObjectContext(compiler::TNode<JSGeneratorObject> p_o);
  void StoreJSGeneratorObjectContext(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<Context> p_v);
  compiler::TNode<Object> LoadJSGeneratorObjectReceiver(compiler::TNode<JSGeneratorObject> p_o);
  void StoreJSGeneratorObjectReceiver(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSGeneratorObjectInputOrDebugPos(compiler::TNode<JSGeneratorObject> p_o);
  void StoreJSGeneratorObjectInputOrDebugPos(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadJSGeneratorObjectResumeMode(compiler::TNode<JSGeneratorObject> p_o);
  void StoreJSGeneratorObjectResumeMode(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadJSGeneratorObjectContinuation(compiler::TNode<JSGeneratorObject> p_o);
  void StoreJSGeneratorObjectContinuation(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<FixedArray> LoadJSGeneratorObjectParametersAndRegisters(compiler::TNode<JSGeneratorObject> p_o);
  void StoreJSGeneratorObjectParametersAndRegisters(compiler::TNode<JSGeneratorObject> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<JSPromise> LoadJSAsyncFunctionObjectPromise(compiler::TNode<JSAsyncFunctionObject> p_o);
  void StoreJSAsyncFunctionObjectPromise(compiler::TNode<JSAsyncFunctionObject> p_o, compiler::TNode<JSPromise> p_v);
  compiler::TNode<HeapObject> LoadJSAsyncGeneratorObjectQueue(compiler::TNode<JSAsyncGeneratorObject> p_o);
  void StoreJSAsyncGeneratorObjectQueue(compiler::TNode<JSAsyncGeneratorObject> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Smi> LoadJSAsyncGeneratorObjectIsAwaiting(compiler::TNode<JSAsyncGeneratorObject> p_o);
  void StoreJSAsyncGeneratorObjectIsAwaiting(compiler::TNode<JSAsyncGeneratorObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadJSPromiseReactionsOrResult(compiler::TNode<JSPromise> p_o);
  void StoreJSPromiseReactionsOrResult(compiler::TNode<JSPromise> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadJSPromiseFlags(compiler::TNode<JSPromise> p_o);
  void StoreJSPromiseFlags(compiler::TNode<JSPromise> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Foreign> LoadCallbackTaskCallback(compiler::TNode<CallbackTask> p_o);
  void StoreCallbackTaskCallback(compiler::TNode<CallbackTask> p_o, compiler::TNode<Foreign> p_v);
  compiler::TNode<Foreign> LoadCallbackTaskData(compiler::TNode<CallbackTask> p_o);
  void StoreCallbackTaskData(compiler::TNode<CallbackTask> p_o, compiler::TNode<Foreign> p_v);
  compiler::TNode<JSReceiver> LoadCallableTaskCallable(compiler::TNode<CallableTask> p_o);
  void StoreCallableTaskCallable(compiler::TNode<CallableTask> p_o, compiler::TNode<JSReceiver> p_v);
  compiler::TNode<Context> LoadCallableTaskContext(compiler::TNode<CallableTask> p_o);
  void StoreCallableTaskContext(compiler::TNode<CallableTask> p_o, compiler::TNode<Context> p_v);
  compiler::TNode<Smi> LoadStackFrameInfoLineNumber(compiler::TNode<StackFrameInfo> p_o);
  void StoreStackFrameInfoLineNumber(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadStackFrameInfoColumnNumber(compiler::TNode<StackFrameInfo> p_o);
  void StoreStackFrameInfoColumnNumber(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadStackFrameInfoScriptId(compiler::TNode<StackFrameInfo> p_o);
  void StoreStackFrameInfoScriptId(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadStackFrameInfoScriptName(compiler::TNode<StackFrameInfo> p_o);
  void StoreStackFrameInfoScriptName(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadStackFrameInfoScriptNameOrSourceUrl(compiler::TNode<StackFrameInfo> p_o);
  void StoreStackFrameInfoScriptNameOrSourceUrl(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadStackFrameInfoFunctionName(compiler::TNode<StackFrameInfo> p_o);
  void StoreStackFrameInfoFunctionName(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadStackFrameInfoFlag(compiler::TNode<StackFrameInfo> p_o);
  void StoreStackFrameInfoFlag(compiler::TNode<StackFrameInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadStackTraceFrameFrameArray(compiler::TNode<StackTraceFrame> p_o);
  void StoreStackTraceFrameFrameArray(compiler::TNode<StackTraceFrame> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadStackTraceFrameFrameIndex(compiler::TNode<StackTraceFrame> p_o);
  void StoreStackTraceFrameFrameIndex(compiler::TNode<StackTraceFrame> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadStackTraceFrameFrameInfo(compiler::TNode<StackTraceFrame> p_o);
  void StoreStackTraceFrameFrameInfo(compiler::TNode<StackTraceFrame> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadStackTraceFrameId(compiler::TNode<StackTraceFrame> p_o);
  void StoreStackTraceFrameId(compiler::TNode<StackTraceFrame> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadClassPositionsStart(compiler::TNode<ClassPositions> p_o);
  void StoreClassPositionsStart(compiler::TNode<ClassPositions> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadClassPositionsEnd(compiler::TNode<ClassPositions> p_o);
  void StoreClassPositionsEnd(compiler::TNode<ClassPositions> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Code> LoadWasmExportedFunctionDataWrapperCode(compiler::TNode<WasmExportedFunctionData> p_o);
  void StoreWasmExportedFunctionDataWrapperCode(compiler::TNode<WasmExportedFunctionData> p_o, compiler::TNode<Code> p_v);
  compiler::TNode<JSObject> LoadWasmExportedFunctionDataInstance(compiler::TNode<WasmExportedFunctionData> p_o);
  void StoreWasmExportedFunctionDataInstance(compiler::TNode<WasmExportedFunctionData> p_o, compiler::TNode<JSObject> p_v);
  compiler::TNode<Smi> LoadWasmExportedFunctionDataJumpTableOffset(compiler::TNode<WasmExportedFunctionData> p_o);
  void StoreWasmExportedFunctionDataJumpTableOffset(compiler::TNode<WasmExportedFunctionData> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadWasmExportedFunctionDataFunctionIndex(compiler::TNode<WasmExportedFunctionData> p_o);
  void StoreWasmExportedFunctionDataFunctionIndex(compiler::TNode<WasmExportedFunctionData> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<JSObject> LoadWasmDebugInfoInstance(compiler::TNode<WasmDebugInfo> p_o);
  void StoreWasmDebugInfoInstance(compiler::TNode<WasmDebugInfo> p_o, compiler::TNode<JSObject> p_v);
  compiler::TNode<HeapObject> LoadWasmDebugInfoInterpreterHandle(compiler::TNode<WasmDebugInfo> p_o);
  void StoreWasmDebugInfoInterpreterHandle(compiler::TNode<WasmDebugInfo> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<FixedArray> LoadWasmDebugInfoInterpretedFunctions(compiler::TNode<WasmDebugInfo> p_o);
  void StoreWasmDebugInfoInterpretedFunctions(compiler::TNode<WasmDebugInfo> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<FixedArray> LoadWasmDebugInfoLocalsNames(compiler::TNode<WasmDebugInfo> p_o);
  void StoreWasmDebugInfoLocalsNames(compiler::TNode<WasmDebugInfo> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<FixedArray> LoadWasmDebugInfoCWasmEntries(compiler::TNode<WasmDebugInfo> p_o);
  void StoreWasmDebugInfoCWasmEntries(compiler::TNode<WasmDebugInfo> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<Foreign> LoadWasmDebugInfoCWasmEntryMap(compiler::TNode<WasmDebugInfo> p_o);
  void StoreWasmDebugInfoCWasmEntryMap(compiler::TNode<WasmDebugInfo> p_o, compiler::TNode<Foreign> p_v);
  compiler::TNode<Smi> LoadWasmExceptionTagIndex(compiler::TNode<WasmExceptionTag> p_o);
  void StoreWasmExceptionTagIndex(compiler::TNode<WasmExceptionTag> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<HeapObject> LoadAsyncGeneratorRequestNext(compiler::TNode<AsyncGeneratorRequest> p_o);
  void StoreAsyncGeneratorRequestNext(compiler::TNode<AsyncGeneratorRequest> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Smi> LoadAsyncGeneratorRequestResumeMode(compiler::TNode<AsyncGeneratorRequest> p_o);
  void StoreAsyncGeneratorRequestResumeMode(compiler::TNode<AsyncGeneratorRequest> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadAsyncGeneratorRequestValue(compiler::TNode<AsyncGeneratorRequest> p_o);
  void StoreAsyncGeneratorRequestValue(compiler::TNode<AsyncGeneratorRequest> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<JSPromise> LoadAsyncGeneratorRequestPromise(compiler::TNode<AsyncGeneratorRequest> p_o);
  void StoreAsyncGeneratorRequestPromise(compiler::TNode<AsyncGeneratorRequest> p_o, compiler::TNode<JSPromise> p_v);
  compiler::TNode<HeapObject> LoadModuleInfoEntryExportName(compiler::TNode<ModuleInfoEntry> p_o);
  void StoreModuleInfoEntryExportName(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<HeapObject> LoadModuleInfoEntryLocalName(compiler::TNode<ModuleInfoEntry> p_o);
  void StoreModuleInfoEntryLocalName(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<HeapObject> LoadModuleInfoEntryImportName(compiler::TNode<ModuleInfoEntry> p_o);
  void StoreModuleInfoEntryImportName(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Smi> LoadModuleInfoEntryModuleRequest(compiler::TNode<ModuleInfoEntry> p_o);
  void StoreModuleInfoEntryModuleRequest(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadModuleInfoEntryCellIndex(compiler::TNode<ModuleInfoEntry> p_o);
  void StoreModuleInfoEntryCellIndex(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadModuleInfoEntryBegPos(compiler::TNode<ModuleInfoEntry> p_o);
  void StoreModuleInfoEntryBegPos(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadModuleInfoEntryEndPos(compiler::TNode<ModuleInfoEntry> p_o);
  void StoreModuleInfoEntryEndPos(compiler::TNode<ModuleInfoEntry> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<HeapObject> LoadPromiseCapabilityPromise(compiler::TNode<PromiseCapability> p_o);
  void StorePromiseCapabilityPromise(compiler::TNode<PromiseCapability> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Object> LoadPromiseCapabilityResolve(compiler::TNode<PromiseCapability> p_o);
  void StorePromiseCapabilityResolve(compiler::TNode<PromiseCapability> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadPromiseCapabilityReject(compiler::TNode<PromiseCapability> p_o);
  void StorePromiseCapabilityReject(compiler::TNode<PromiseCapability> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadPromiseReactionNext(compiler::TNode<PromiseReaction> p_o);
  void StorePromiseReactionNext(compiler::TNode<PromiseReaction> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<HeapObject> LoadPromiseReactionRejectHandler(compiler::TNode<PromiseReaction> p_o);
  void StorePromiseReactionRejectHandler(compiler::TNode<PromiseReaction> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<HeapObject> LoadPromiseReactionFulfillHandler(compiler::TNode<PromiseReaction> p_o);
  void StorePromiseReactionFulfillHandler(compiler::TNode<PromiseReaction> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<HeapObject> LoadPromiseReactionPromiseOrCapability(compiler::TNode<PromiseReaction> p_o);
  void StorePromiseReactionPromiseOrCapability(compiler::TNode<PromiseReaction> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Object> LoadPromiseReactionJobTaskArgument(compiler::TNode<PromiseReactionJobTask> p_o);
  void StorePromiseReactionJobTaskArgument(compiler::TNode<PromiseReactionJobTask> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Context> LoadPromiseReactionJobTaskContext(compiler::TNode<PromiseReactionJobTask> p_o);
  void StorePromiseReactionJobTaskContext(compiler::TNode<PromiseReactionJobTask> p_o, compiler::TNode<Context> p_v);
  compiler::TNode<HeapObject> LoadPromiseReactionJobTaskHandler(compiler::TNode<PromiseReactionJobTask> p_o);
  void StorePromiseReactionJobTaskHandler(compiler::TNode<PromiseReactionJobTask> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<HeapObject> LoadPromiseReactionJobTaskPromiseOrCapability(compiler::TNode<PromiseReactionJobTask> p_o);
  void StorePromiseReactionJobTaskPromiseOrCapability(compiler::TNode<PromiseReactionJobTask> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Context> LoadPromiseResolveThenableJobTaskContext(compiler::TNode<PromiseResolveThenableJobTask> p_o);
  void StorePromiseResolveThenableJobTaskContext(compiler::TNode<PromiseResolveThenableJobTask> p_o, compiler::TNode<Context> p_v);
  compiler::TNode<JSPromise> LoadPromiseResolveThenableJobTaskPromiseToResolve(compiler::TNode<PromiseResolveThenableJobTask> p_o);
  void StorePromiseResolveThenableJobTaskPromiseToResolve(compiler::TNode<PromiseResolveThenableJobTask> p_o, compiler::TNode<JSPromise> p_v);
  compiler::TNode<JSReceiver> LoadPromiseResolveThenableJobTaskThen(compiler::TNode<PromiseResolveThenableJobTask> p_o);
  void StorePromiseResolveThenableJobTaskThen(compiler::TNode<PromiseResolveThenableJobTask> p_o, compiler::TNode<JSReceiver> p_v);
  compiler::TNode<JSReceiver> LoadPromiseResolveThenableJobTaskThenable(compiler::TNode<PromiseResolveThenableJobTask> p_o);
  void StorePromiseResolveThenableJobTaskThenable(compiler::TNode<PromiseResolveThenableJobTask> p_o, compiler::TNode<JSReceiver> p_v);
  compiler::TNode<HeapObject> LoadJSRegExpData(compiler::TNode<JSRegExp> p_o);
  void StoreJSRegExpData(compiler::TNode<JSRegExp> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<HeapObject> LoadJSRegExpSource(compiler::TNode<JSRegExp> p_o);
  void StoreJSRegExpSource(compiler::TNode<JSRegExp> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Object> LoadJSRegExpFlags(compiler::TNode<JSRegExp> p_o);
  void StoreJSRegExpFlags(compiler::TNode<JSRegExp> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSRegExpResultIndex(compiler::TNode<JSRegExpResult> p_o);
  void StoreJSRegExpResultIndex(compiler::TNode<JSRegExpResult> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSRegExpResultInput(compiler::TNode<JSRegExpResult> p_o);
  void StoreJSRegExpResultInput(compiler::TNode<JSRegExpResult> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSRegExpResultGroups(compiler::TNode<JSRegExpResult> p_o);
  void StoreJSRegExpResultGroups(compiler::TNode<JSRegExpResult> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadJSRegExpStringIteratorIteratingRegExp(compiler::TNode<JSRegExpStringIterator> p_o);
  void StoreJSRegExpStringIteratorIteratingRegExp(compiler::TNode<JSRegExpStringIterator> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<String> LoadJSRegExpStringIteratorIteratedString(compiler::TNode<JSRegExpStringIterator> p_o);
  void StoreJSRegExpStringIteratorIteratedString(compiler::TNode<JSRegExpStringIterator> p_o, compiler::TNode<String> p_v);
  compiler::TNode<Smi> LoadJSRegExpStringIteratorFlags(compiler::TNode<JSRegExpStringIterator> p_o);
  void StoreJSRegExpStringIteratorFlags(compiler::TNode<JSRegExpStringIterator> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> _method_RegExpMatchInfo_GetStartOfCapture(compiler::TNode<Context> p_context, compiler::TNode<RegExpMatchInfo> p_this, int31_t p_captureIndex);
  compiler::TNode<Smi> _method_RegExpMatchInfo_GetEndOfCapture(compiler::TNode<Context> p_context, compiler::TNode<RegExpMatchInfo> p_this, int31_t p_captureIndex);
  compiler::TNode<Object> LoadAccessorInfoName(compiler::TNode<AccessorInfo> p_o);
  void StoreAccessorInfoName(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Smi> LoadAccessorInfoFlags(compiler::TNode<AccessorInfo> p_o);
  void StoreAccessorInfoFlags(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Object> LoadAccessorInfoExpectedReceiverType(compiler::TNode<AccessorInfo> p_o);
  void StoreAccessorInfoExpectedReceiverType(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadAccessorInfoSetter(compiler::TNode<AccessorInfo> p_o);
  void StoreAccessorInfoSetter(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadAccessorInfoGetter(compiler::TNode<AccessorInfo> p_o);
  void StoreAccessorInfoGetter(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadAccessorInfoJsGetter(compiler::TNode<AccessorInfo> p_o);
  void StoreAccessorInfoJsGetter(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadAccessorInfoData(compiler::TNode<AccessorInfo> p_o);
  void StoreAccessorInfoData(compiler::TNode<AccessorInfo> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadAccessorPairGetter(compiler::TNode<AccessorPair> p_o);
  void StoreAccessorPairGetter(compiler::TNode<AccessorPair> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Object> LoadAccessorPairSetter(compiler::TNode<AccessorPair> p_o);
  void StoreAccessorPairSetter(compiler::TNode<AccessorPair> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<Foreign> LoadWasmModuleObjectNativeModule(compiler::TNode<WasmModuleObject> p_o);
  void StoreWasmModuleObjectNativeModule(compiler::TNode<WasmModuleObject> p_o, compiler::TNode<Foreign> p_v);
  compiler::TNode<FixedArray> LoadWasmModuleObjectExportWrappers(compiler::TNode<WasmModuleObject> p_o);
  void StoreWasmModuleObjectExportWrappers(compiler::TNode<WasmModuleObject> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<Script> LoadWasmModuleObjectScript(compiler::TNode<WasmModuleObject> p_o);
  void StoreWasmModuleObjectScript(compiler::TNode<WasmModuleObject> p_o, compiler::TNode<Script> p_v);
  compiler::TNode<HeapObject> LoadWasmModuleObjectWeakInstanceList(compiler::TNode<WasmModuleObject> p_o);
  void StoreWasmModuleObjectWeakInstanceList(compiler::TNode<WasmModuleObject> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<ByteArray> LoadWasmModuleObjectAsmJsOffsetTable(compiler::TNode<WasmModuleObject> p_o);
  void StoreWasmModuleObjectAsmJsOffsetTable(compiler::TNode<WasmModuleObject> p_o, compiler::TNode<ByteArray> p_v);
  compiler::TNode<FixedArray> LoadWasmModuleObjectBreakPointInfos(compiler::TNode<WasmModuleObject> p_o);
  void StoreWasmModuleObjectBreakPointInfos(compiler::TNode<WasmModuleObject> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<FixedArray> LoadWasmTableObjectElements(compiler::TNode<WasmTableObject> p_o);
  void StoreWasmTableObjectElements(compiler::TNode<WasmTableObject> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<Object> LoadWasmTableObjectMaximumLength(compiler::TNode<WasmTableObject> p_o);
  void StoreWasmTableObjectMaximumLength(compiler::TNode<WasmTableObject> p_o, compiler::TNode<Object> p_v);
  compiler::TNode<FixedArray> LoadWasmTableObjectDispatchTables(compiler::TNode<WasmTableObject> p_o);
  void StoreWasmTableObjectDispatchTables(compiler::TNode<WasmTableObject> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<Smi> LoadWasmTableObjectRawType(compiler::TNode<WasmTableObject> p_o);
  void StoreWasmTableObjectRawType(compiler::TNode<WasmTableObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<JSArrayBuffer> LoadWasmMemoryObjectArrayBuffer(compiler::TNode<WasmMemoryObject> p_o);
  void StoreWasmMemoryObjectArrayBuffer(compiler::TNode<WasmMemoryObject> p_o, compiler::TNode<JSArrayBuffer> p_v);
  compiler::TNode<Smi> LoadWasmMemoryObjectMaximumPages(compiler::TNode<WasmMemoryObject> p_o);
  void StoreWasmMemoryObjectMaximumPages(compiler::TNode<WasmMemoryObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<HeapObject> LoadWasmMemoryObjectInstances(compiler::TNode<WasmMemoryObject> p_o);
  void StoreWasmMemoryObjectInstances(compiler::TNode<WasmMemoryObject> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<JSArrayBuffer> LoadWasmGlobalObjectUntaggedBuffer(compiler::TNode<WasmGlobalObject> p_o);
  void StoreWasmGlobalObjectUntaggedBuffer(compiler::TNode<WasmGlobalObject> p_o, compiler::TNode<JSArrayBuffer> p_v);
  compiler::TNode<FixedArray> LoadWasmGlobalObjectTaggedBuffer(compiler::TNode<WasmGlobalObject> p_o);
  void StoreWasmGlobalObjectTaggedBuffer(compiler::TNode<WasmGlobalObject> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<Smi> LoadWasmGlobalObjectOffset(compiler::TNode<WasmGlobalObject> p_o);
  void StoreWasmGlobalObjectOffset(compiler::TNode<WasmGlobalObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<Smi> LoadWasmGlobalObjectFlags(compiler::TNode<WasmGlobalObject> p_o);
  void StoreWasmGlobalObjectFlags(compiler::TNode<WasmGlobalObject> p_o, compiler::TNode<Smi> p_v);
  compiler::TNode<ByteArray> LoadWasmExceptionObjectSerializedSignature(compiler::TNode<WasmExceptionObject> p_o);
  void StoreWasmExceptionObjectSerializedSignature(compiler::TNode<WasmExceptionObject> p_o, compiler::TNode<ByteArray> p_v);
  compiler::TNode<HeapObject> LoadWasmExceptionObjectExceptionTag(compiler::TNode<WasmExceptionObject> p_o);
  void StoreWasmExceptionObjectExceptionTag(compiler::TNode<WasmExceptionObject> p_o, compiler::TNode<HeapObject> p_v);
  compiler::TNode<Foreign> LoadAsmWasmDataManagedNativeModule(compiler::TNode<AsmWasmData> p_o);
  void StoreAsmWasmDataManagedNativeModule(compiler::TNode<AsmWasmData> p_o, compiler::TNode<Foreign> p_v);
  compiler::TNode<FixedArray> LoadAsmWasmDataExportWrappers(compiler::TNode<AsmWasmData> p_o);
  void StoreAsmWasmDataExportWrappers(compiler::TNode<AsmWasmData> p_o, compiler::TNode<FixedArray> p_v);
  compiler::TNode<ByteArray> LoadAsmWasmDataAsmJsOffsetTable(compiler::TNode<AsmWasmData> p_o);
  void StoreAsmWasmDataAsmJsOffsetTable(compiler::TNode<AsmWasmData> p_o, compiler::TNode<ByteArray> p_v);
  compiler::TNode<HeapNumber> LoadAsmWasmDataUsesBitset(compiler::TNode<AsmWasmData> p_o);
  void StoreAsmWasmDataUsesBitset(compiler::TNode<AsmWasmData> p_o, compiler::TNode<HeapNumber> p_v);
  compiler::TNode<HeapObject> Cast10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Uint32T> Convert8ATuint327ATuint8(compiler::TNode<Uint8T> p_i);
  compiler::TNode<Uint32T> Convert8ATuint328ATuint16(compiler::TNode<Uint16T> p_i);
  compiler::TNode<Uint32T> Convert8ATuint328ATuint31(compiler::TNode<Uint32T> p_i);
  compiler::TNode<JSFunction> UnsafeCast10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<JSReceiver> UnsafeCast13ATConstructor(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<Map> UnsafeCast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<JSArray> Cast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSArgumentsObjectWithLength> Cast27JSArgumentsObjectWithLength(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<BoolT> Is13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  void BranchIf13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
  void BranchIfNot13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
  void BranchIf20ATFastJSArrayForCopy20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
  compiler::TNode<BoolT> Is34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<Context> Cast7Context(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Object> UnsafeCast23UT11ATFrameType7Context(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<JSReceiver> Cast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSReceiver> Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Smi> Convert5ATSmi17ATconstexpr_int31(int31_t p_i);
  compiler::TNode<JSArray> UnsafeCast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<NumberDictionary> UnsafeCast18ATNumberDictionary(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<FixedArray> UnsafeCast10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<Smi> UnsafeCast5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<FixedDoubleArray> UnsafeCast16FixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<JSTypedArray> UnsafeCast12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<String> Cast6String(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<HeapObject> UnsafeCast10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<JSReceiver> Cast13ATConstructor(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSArray> Cast13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<FixedArray> Cast10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Context> UnsafeCast7Context(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<JSArray> Cast20ATFastJSArrayForCopy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSDataView> Cast10JSDataView(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSArray> Cast34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<BoolT> Is10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<Map> Cast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<JSProxy> UnsafeCast7JSProxy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<JSArrayBuffer> Cast13JSArrayBuffer(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  compiler::TNode<Smi> Convert5ATSmi5ATSmi(compiler::TNode<Smi> p_i);
  compiler::TNode<IntPtrT> Convert8ATintptr17ATconstexpr_int31(int31_t p_i);
  compiler::TNode<JSObject> UnsafeCast8JSObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<HeapNumber> UnsafeCast10HeapNumber(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<JSReceiver> UnsafeCast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  compiler::TNode<HeapObject> Cast52UT11ATUndefined15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError);
  void BranchIf34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
  compiler::TNode<Number> UnsafeCast20UT5ATSmi10HeapNumber(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
  void BranchIf10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False);
  compiler::TNode<FixedTypedArrayBase> UnsafeCast19FixedTypedArrayBase(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o);
 private:
  compiler::CodeAssemblerState* const state_;
  compiler::CodeAssembler ca_;
};

}  // namespace internal
}  // namespace v8

#endif  // V8_TORQUE_BASE_FROM_DSL_BASE_H__
